/*  This file is part of -_-.

    -_- is free software: you can redistribute it and/or modify
    it under the terms of the GNU General Public License as published by
    the Free Software Foundation, either version 3 of the License, or
    (at your option) any later version.

    -_- is distributed in the hope that it will be useful,
    but WITHOUT ANY WARRANTY; without even the implied warranty of
    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
    GNU General Public License for more details.

    You should have received a copy of the GNU General Public License
    along with -_-.  If not, see <http://www.gnu.org/licenses/>.

    Copyright 2012-2013 Oliver Katz */

#include <iostream>
#include "lexer.h"
#include "parser.h"
#include <gtest/gtest.h>

using namespace sleepyface;
using namespace sleepyface::opal;

string path = "";

TEST(parsing, parsing)
{
    Lexer lex = Lexer(" \n\t()", " \n\t", "\"'", "\"'");
    Parser par = Parser("(", ")");

    vector<string> importPath = {".", "./opal"};
    AST ast = loadAndParse(path, lex, par, importPath);

    ASSERT_FALSE(dumpErrors());

    cout << ast.display() << "\n";
}

int main(int argc, char *argv[])
{
    ::testing::InitGoogleTest(&argc, argv);

    if (argc <= 1)
    {
        cout << "usage: " << argv[0] << " <INPUT *.opal>\n";
        return 1;
    }

    path = argv[1];

	return RUN_ALL_TESTS();
}

